// 管理员删除分类云函数
exports.main = async (event, context) => {
  try {
    // 检查管理员权限
    const adminId = context.uid;
    // if (!adminId) {
    //   return {
    //     code: 401,
    //     message: '需要管理员权限'
    //   };
    // }
    
    const { id } = event;
    
    // 验证分类ID
    if (!id) {
      return {
        code: 400,
        message: '缺少分类ID'
      };
    }
    
    const db = uniCloud.database();
    
    // 先查询分类是否存在
    const categoryRes = await db.collection('categories')
      .doc(id)
      .get();
    
    if (!categoryRes.data || !categoryRes.data._id) {
      return {
        code: 404,
        message: '分类不存在'
      };
    }
    
    // 检查该分类下是否有壁纸
    const wallpaperCountRes = await db.collection('wallpapers')
      .where({
        categoryId: id
      })
      .count();
    
    if (wallpaperCountRes.total > 0) {
      return {
        code: 400,
        message: `该分类下还有${wallpaperCountRes.total}张壁纸，请先处理壁纸再删除分类`
      };
    }
    
    // 删除分类
    await db.collection('categories').doc(id).remove();
    
    return {
      code: 0,
      message: '删除分类成功'
    };
    
  } catch (error) {
    console.error('删除分类失败:', error);
    return {
      code: 500,
      message: '删除分类失败，请稍后重试'
    };
  }
};